home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / prgtools / mint / devices / multi-~1.lzh / kernel.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-11-25  |  2.4 KB  |  88 lines

  1. /*
  2.  * this points to the structure that has all the useful functions that
  3.  * the kernel told us about
  4.  */
  5.  
  6. #ifndef _kernel_h
  7. #define _kernel_h
  8.  
  9. extern struct kerinfo *kernel;
  10.  
  11. /* BIOS entry points */
  12. #define BIOS(code)    (*kernel->bios_tab[code])
  13. #define DRVMAP()    (BIOS(0x10) ())
  14.  
  15. /* GEMDOS entry points */
  16. #define GEMDOS(code)    (*kernel->dos_tab[code])
  17. #define CCONWS(s)            (GEMDOS(9) (s))
  18. #define FGETDTA()            (GEMDOS(0x2f) ())
  19. #define CCONOUT(a)        (GEMDOS(2) (a))
  20. #define TGETDATE()        (GEMDOS(0x2a) ())
  21. #define TGETTIME()        (GEMDOS(0x2c) ())
  22. #define PTERMRES(a,b)    (GEMDOS(0x31) (a,b))
  23. #define MALLOC(a)            (GEMDOS(0x48) (a))
  24. #define FSELECT(a,b,c,d)    (GEMDOS(0x11d) (a,b,c,d))
  25. #define DCNTL(a,b,c)    (GEMDOS(0x130) (a,b,c))
  26. #define PGETPID()    (GEMDOS(0x10b) ())
  27. #define PGETPPID()    (GEMDOS(0x10c) ())
  28. #define PGETPGRP()    (GEMDOS(0x10d) ())
  29. #define PGETUID()    (GEMDOS(0x10f) ())
  30. #define PGETGID()    (GEMDOS(0x114) ())
  31. #define PGETEUID()    (GEMDOS(0x138) ())
  32. #define PGETEGID()    (GEMDOS(0x139) ())
  33.  
  34. /* Kernel entry points */
  35.  
  36. /* media change vector */
  37. #define drvchng    (*kernel->drvchng)
  38.  
  39. /* Debugging stuff */
  40. #define TRACE(x)    (*kernel->trace) x
  41. #define DEBUG(x)    (*kernel->debug) x
  42. #define ALERT(x)    (*kernel->alert) x
  43. #define FATAL(x)    (*kernel->fatal) x
  44.  
  45. /* memory allocation functions */
  46. #define kmalloc    (*kernel->kmalloc)
  47. #define kfree    (*kernel->kfree)
  48. #define umalloc    (*kernel->umalloc)
  49. #define ufree    (*kernel->ufree)
  50.  
  51. /* utility functions for string manipulation */
  52. #define strnicmp    (*kernel->strnicmp)
  53. #define stricmp    (*kernel->stricmp)
  54. #define strlwr    (*kernel->strlwr)
  55. #define strupr    (*kernel->strupr)
  56. #define sprintf    (*kernel->sprintf)
  57.  
  58. /* utility functions for manipulating time */
  59. #define millis_time    (*kernel->millis_time)
  60. #define unixtim    (*kernel->unixtim)
  61. #define dostim    (*kernel->dostim)
  62.  
  63. /* utility functions for dealing with pauses */
  64. #define nap    (*kernel->nap)
  65. #define sleep    (*kernel->sleep)
  66. #define wake    (*kernel->wake)
  67. #define wakeselect    (*kernel->wakeselect)
  68.  
  69. /* file system utility functions */
  70. #define denyshare    (*kernel->denyshare)
  71. #define denylock    (*kernel->denylock)
  72.  
  73. /* functions for adding/cancelling timeouts */
  74. #define addtimeout    (*kernel->addtimeout)
  75. #define canceltimeout    (*kernel->canceltimeout)
  76.  
  77. /* Some useful kernel defines */
  78. #define CURPROC_Q    0
  79. #define READY_Q        1
  80. #define WAIT_Q        2
  81. #define IO_Q        3
  82. #define ZOMBIE_Q    4
  83. #define TSR_Q        5
  84. #define STOP_Q        6
  85. #define SELECT_Q    7
  86.  
  87. #endif /* _kernel_h */
  88.